package com.hj.model;

import lombok.Data;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 购物车的视图对象
 *
 * @author haoshen
 * @version 1.0
 */
@Data
public class CartVo {
    private List<CartProductVo> cartProductVos;
    /**
     * 总价格
     */
    private BigDecimal totalPrice;
    /**
     * 是否所有物品都是选中状态
     */
    private Boolean allChecked;
    /**
     * 被选中的商品
     */
    private List<CartProductVo> checkedCartProductVos;

    public BigDecimal getTotalPrice() {
        totalPrice = BigDecimal.valueOf(0);
        for (CartProductVo vo : cartProductVos) {
            if (vo.getChecked() == 1) {
                totalPrice = totalPrice.add(vo.getProTotalPrice());
            }
        }
        return totalPrice;
    }

    public Boolean getAllChecked() {
        for (CartProductVo vo : cartProductVos) {
            if (vo.getChecked() == 0) {
                return false;
            }
        }
        return true;
    }

    public List<CartProductVo> getCheckedCartProductVos() {
        List<CartProductVo> vo = new ArrayList<>();
        for (CartProductVo cartProductVo : cartProductVos) {
            if(cartProductVo.getChecked()==1){
                vo.add(cartProductVo);
            }
        }
        return vo;
    }
}
